Robot control system

ABSTRACT

A robot control system includes: an end effector for acting upon an object to be worked; a manipulator mechanically supporting the end effector to apply predetermined movements to the end effector; a plurality of sensors mounted on the end effector to detect a position (x) of the end effector and a force (f) between the end effector and the object and to obtain an acceleration speed (x&#34;), a speed (x&#39;) and a work rate (-x&#39;f) of the end effector; a pre-controller for controlling movement of the end effector and the manipulator; a plurality of selection function units connected in parallel to the pre-controller and at least one of the selection function units being selected in accordance with the acceleration speed (x&#34;), the speed (x&#39;) and the work rate (-x&#39;f); and a plurality of control units each connected to a corresponding selecting function unit for inputting a target trajectory (x d ) of the end effector and for outputting a control signal (u) to the pre-controller to control movement of the end effector and the manipulator; wherein, the selection function unit is selected in accordance with a value of either &#34;0&#34; or &#34;other than 0&#34; of the acceleration speed, the speed and the work rate; and the control signal from the control unit corresponding to the selection function unit is input to the pre-controller to control movement of the end effector and the manipulator through the selection function unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a robot control system and more particularly, it relates to a robot control system which selects a suitable set of functions in accordance with a force, an acceleration, a velocity and a work rate. The robot control system according to the present invention can control an end effector and a manipulator of a robot for a suitable operation based on a control signal from a control means which is provided in correspondence with a selection function device. The work rate is given by a product of speed and force.

2. Description of the Related Art

In general, a robot is formed of an end effector (or, hand) provided at the end of an arm (a manipulator) to grasp/push an object, a plurality of sensors mounted at the end effector for detecting a force, a position, and an orientation of the end effector, and a control unit for controlling the operation of the manipulator.

There are three different control methods well-known in the conventional art, i.e., a force control method, a position control method, and a stiffness/dumping control method, in accordance with the relationship between the end effector and the object. That is, these methods are distinguished in accordance with the following states, i.e., first, a contacting state (or, non-contacting state) between the end effector and the object, second, characteristics of the object (i.e., rigid or non-rigid body), and third, the state of the object (i.e., fixed or not fixed).

Concretely, the force control method is used for a contacting state between the end effector and a fixed and rigid object. The position control method is used for a non-contacting state between the end effector and an object. The stiffness/damping control method is used for a contacting state between the end effector and a not fixed or non-rigid object.

Furthermore, the force control method and the position control method can be combined with each other, and this combination is called a hybrid position/force control method. Also, the position control method and the stiffness/dumping control method can be combined with each other, and this combination is called an impedance control method.

As is obvious from the above, the hybrid control method is only used for contacting or non-contacting state between the end effector and the fixed and rigid object, and the impedance control method is only used for contacting or non-contacting state between the end effector and the not fixed or non-rigid object.

However, there is no general method which is able to cover both of these two methods in the conventional art.

SUMMARY OF THE INVENTION

The object of the present invention is to provide a robot control system which is able to adapt to control of all states of an end effector and a manipulator including contacting/non-contacting states, rigid/non-rigid states and fixed/not fixed states.

In accordance with the present invention, there is provided a robot control system including: an end effector for acting on an object to be worked; a manipulator mechanically supporting the end to apply predetermined movements to the end effector; a plurality of sensors mounted on the end effector to detect a position (x) of the end effector and a force (f) between the end effector and the object and to obtain an acceleration (x"), a velocity (x') and a work rate (-x'f) of the end effector; a pre-controller for controlling movement of the end effector and the manipulator; a plurality of selection function units connected in parallel to the pre-controller and at least one of the selection function units being selected in accordance with the acceleration (x"), the velocity (x') and the work rate (-x'f); and a plurality of control units each connected to a corresponding selection function unit for inputting a target trajectory (x_(d)) of the end effector and for respectively outputting corresponding control signals which in the composite comprise a total control signal (u) to the pre-controller to control movement of the end effector and the manipulator;

wherein, each of the selection function unit s is selected or selectively enabled thereby to select the respectively corresponding control unit in accordance with a varying combination of the respective values of the acceleration, the velocity and the work rate being zero, or not zero; and the control signal from the respective control unit corresponding to the enabled selection function unit is input to the pre-controller, to control movement of the end effector and the manipulator, through the thus enabled selection function unit.

As a preferred embodiment, the selection function unit utilizes a Kronecker delta function.

As another preferred embodiment, the movement of the manipulator is defined by the following formula for one direction component,

    mx"+bx'+kx=u+f

where, "x" denotes the position of the end effector, "x'" denotes the velocity of the end effector, "x"" denotes the acceleration of the end effector, "f" denotes the force applied from the object to the end effector, "u" denotes the control signal generated by the control unit, "m" denotes a weight, "b" denotes a viscosity, and "k" denotes an elasticity. Further, each of these values is defined by a "scalar".

As still another preferred embodiment, eight kinds of Kronecker delta functions are given as the selection function means.

BRIEF DESCRIPTION OF THE DRAWING

In the drawings:

FIG. 1 is a basic block diagram of a robot control system according to the present invention;

FIG. 2 is a block diagram of a robot control system according to an embodiment of the present invention;

FIG. 3 shows the case of a contacting state between an end effector and a fixed and rigid object;

FIG. 4 shows the case of a non-contacting state between the end effector and the object; and

FIG. 5 shows the case of a contacting state between the end effector and a not fixed or non-rigid object.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a basic block diagram of a robot control system according to the present invention. This new control method according to the present invention is called a "selective control method". In FIG. 1, "A" denotes an object to be acted upon, "E" denotes an end effector to act on the object, "S" denotes sensors for detecting various forces from the object and a position of the end effector, "M" denotes a manipulator for mechanically supporting the end effector, "P" denotes a pre-controller for controlling operation of the manipulator, 1a to In denote selection function devices, and 11a to 11n denote control units.

Where acceleration is expressed by x", velocity is expressed by x', and a work rate is expressed by -x'f.

Each selection function devices 1a to 1n is selected by each value of the acceleration x" the velocity x', and the work rate -x'f as explained in detail below.

The control units 11a to 11n are provided for the respective selection function devices 1a to 1n. A target trajectory "x_(d) " for the position of the end effector E is input in parallel to each control unit, and the control units generate a control signal "u" through the selection function devices 1a to 1n.

As explained in detail below, any one of the selection function devices is selected in accordance with a value of either "0" or "other than 0" (indicated by "?" in the drawings) of the acceleration x", the velocity x' and the work rate -x'f.

When a given one of the selection function devices is selected, the control signal "u" is input from the corresponding control unit and the respective selection function device to the pre-controller P to control the manipulator M. In this embodiment, a so-called Kronecker delta function or an enlarged Kronecker delta function is used as the selection function devices.

Further operation of the manipulator is defined by the following formula.

    mx"+bx'+kx=u+f

where, "x" denotes the position of the end effector, "x'" denotes the velocity of the end effector which is obtained from the differential of the position "x", and "x"" denotes the acceleration which is obtained from the differential of the velocity "x'", "f" denotes a force applied from the object to the end effector, "u" denotes the control signal, "m" denotes a weight, "b" denotes a viscosity, and "k" denotes an elasticity. In this embodiment, all these values are given by scalar values.

The end effector E is mounted at the end of the manipulator M, and executes various operations by contacting the object A. The pre-controller P is provided at the manipulator M to control the operation thereof. The outputs of all of the selection function devices 1a to 1n are input to the pre-controller P, and each selection function device receives the information of the acceleration x" the velocity x' and the work rate -x'f which are detected by the sensors S.

An individual one of the selection function devices is selected in accordance with the acceleration speed x" the speed x' and the work rate -x'f. The control signal "u" of the corresponding control unit connected to the selected one of the selection function devices, is output to the pre-controller P thereby to control the manipulator M.

Before explaining preferred embodiments, the basic theory of the present invention will be explained in detail below.

First, an explanation will be given for the case where the end effector E contacts or does not contact the object A. The following explanation is given for a unidirectional component of the manipulator M, thereby to simplify the explanation.

A basic formula is explained as follows.

The formula indicating a component of one optional direction of the manipulator is given as follows:

    mx"+bx'+kx=u+f                                             (1)

wherein, "x" denotes the position of the end effector, "x'" denotes the velocity of the end effector which is obtained from the differential of the position "x", and "x"" denotes the acceleration which is obtained from the differential of the velocity "x'", "f" denotes the force applied from the object to the end effector, "u" denotes the control signal, "m" denotes the weight, "b" denotes the viscosity, and "k" denotes the elasticity. In this case, all these values are given by scalar values.

Case (1) When the end effector contacts a fixed and rigid object, the formula is explained as follows.

When the end effector contacts a fixed and rigid object, the end effector enters a static state. Accordingly, the speed x' of the end effector is given as zero:

    x'=0                                                       (2)

When the position x is "x_(c) ", from the formula (2):

    x=x.sub.c                                                  (3)

wherein, x_(c) is a constant scalar value.

From formulas (1) and (3):

    f=k x.sub.c -u                                             (4)

Case (2) When the end effector does not contact the object, the formula is explained as follows.

When the end effector does not contact the object, it does not take a force from the object A. Accordingly, the force f of the end effector is given as zero:

    f=0                                                        (5)

From formulas (1) and (5):

    mx"+bx'+kx=u                                               (6)

Case (3) When the end effector contacts a not fixed or non-rigid object, the formula is expressed approximately as follows:

    -f≈-(m.sub.e x"+b.sub.e x'+k.sub.e x)              (7)

wherein, m_(e), b_(e), and k_(e) denotes constant scalars indicating impedance of the object A.

From formulas (1) and (7):

    (m+m.sub.e)x"+(b+b.sub.e)x'+(k+k.sub.e)x=u                 (8)

FIG. 2 is a block diagram of a robot control system according to an embodiment of the present invention. The same reference letters as used in FIG. 1 are attached to the same components in this drawings. As shown in the drawing, eight selection function devices 1 to 8 are provided in this embodiment. Accordingly, eight controllers 11 to 18 are provided for the respective, corresponding selection function devices 1 to 8. Each of the selection function devices 1 to 8 is defined based on three kinds of values which are input from sensors S, i.e., the acceleration x" of the end effector, the velocity x' of the end effector, and the work rate -x'f indicating the work from the end effector E to the object A. That is, when these three values are given by a value of either "0" or "other than 0", the selection function value becomes "1" or "0" so that following eight sets of selection function devices can be obtained.

    (*δ.sub.1 *δ.sub.2 *δ.sub.3)

    (*δ.sub.1 *δ.sub.2 δ.sub.3)

    (*δ.sub.1 δ.sub.2 *δ.sub.3)

    (*δ.sub.1 δ.sub.2 δ.sub.3)               (9)

    (δ.sub.1 *δ.sub.2 *δ.sub.3)

    (δ.sub.1 *δ.sub.2 δ.sub.3)

    (δ.sub.1 δ.sub.2 *δ.sub.3)

    (δ.sub.1 δ.sub.2 δ.sub.3)

Where, δ denotes the Kronecker delta function, "*" denotes an inverted value of the function δ. Further, for example, the function of the first row (*δ₁ *δ₂ δ₃) denotes a product of *δ₁, *δ₂, and δ₃. As is obvious, the above eight selection functions correspond to the selection function devices 1 to 8 of FIG. 2, respectively.

Further, the function δ_(i) (i=1, 2 3) is defined as follows:

    δ.sub.1 =δ(x", 0)

    δ.sub.2 =δ(x',0)                               (10)

    δ.sub.3 =δ(-x'f, 0)

    *δ.sub.i =1-δ.sub.i (i=1, 2, 3)                (11)

Still further, the function δ(a, b) is defined as follows:

    δ(a, b)=1 (when a=b) or 0 (when a≠b)           (12)

The formula (12) shows an ideal form mathematically to simplify the explanation. In actuality, the following formula is defined as an enlarged Kronecker delta function instead of the formula (12).

    δ.sub.e (a, b)=1(|a-b|≦e) or =0(|a-b|>e)                             (13)

wherein, "e" denotes a small positive constant scalar.

The operation of each of the controllers 11 to 18 in FIG. 2 is explained below. As explained above, in the present invention, the suitable controller is selected in accordance with contacting/not-contacting, rigid/non-rigid, and fixed/not fixed states between the end effector and the object. By using the set of selection functions in the formula (9), the total control signal "u" is defined as follows. ##EQU1## wherein, "x_(d) " denotes a target trajectory of the position x of the end effector. The successive rows of the above formulas correspond to the respective control means 11 to 18 of FIG. 2. In the above formula (14), the first row corresponds to the impedance control method, the second row corresponds to the position control method, and the eighth row corresponds to the force control method.

The formula (14) can be simplified as follows: ##EQU2##

The formula (16) shows an ideal form mathematically to simplify the explanation. In actuality, the function δ is substituted by the functions δ_(e1), δ_(e2) and δ_(e3) in formula (16) as follows. ##EQU3##

FIG. 3 shows the Case (1) of a contacting state between the end effector and a fixed and rigid object. As is obvious, since the end effector E contacts the object A, the position x is constant so that the velocity x' also becomes zero (i.e., x'=0). In this case, the force applied to the object is unknown (i.e., f=?).

In the formula (10), when x'=0, δ₂ is given by δ(0, 0). Further, in the formula (12), when a=b, δ(a, b) is given by "1" so that δ₂ becomes "1". Still further, when x'=0, the acceleration x" becomes "0" and the work force -x'f also becomes "0". Accordingly, from the formula (12) and since a=b, δ₁, δ₂, and δ₃ become "1" (i.e., δ₁ =δ₂ =δ₃ =1). In the formula (11), when δ₁ =δ₂ =δ₃ =1, *δ₁, *δ₂ and *δ₃ become "0" (i.e., *δ₁ =*δ₂ =*δ₃ =0).

Accordingly, the selection function devices 1 to 7 become "0", and only the selection function devices 8 is selected. In this case, the control signal "u" is given by "kx_(d) " and this signal is input to the precontroller P.

Since x"=x'=x'f=0, from the formulas (4) and (16), the following formulas are obtained.

    f=k x.sub.c -u

    u=k x.sub.d                                                (18)

From these formulae, the following formula is obtained.

    f=k(x.sub.c -x.sub.d)                                      (19)

Accordingly, and as is obvious from the above formula (19), the force "-f", which the end effector applies to the object, can be controlled by using the target trajectory x_(d).

FIG. 4 shows the Case (2) of a non-contacting state between the end effector and the object. In this case, since the end effector E does not contact the object A, the speed is unknown (i.e., x'=?) and the force is given by "0" (i.e., f=0).

When f=0, the work rate -x'f is given by "0" so that δ₃ becomes "1" (i.e., δ₃ =1) from the formula (10) and (12). Further, when δ₃ =1, *δ₃ becomes "0" (i.e., *δ₃ =0) from the formula (11).

Accordingly, since δ₃ =1 and *δ₃ =0, the selection function devices 2, 4, 6 and 8 are selected and the selection function device 1, 3, 5 and 7 are not selected.

Since f=0, from the formulas (6) and (16), the following formulas are given.

    mx"+bx'+kx=u

    u=mx.sub.d "+bx.sub.d '+kx.sub.d                           (20)

From the formula (20),

    mx"+bx'+kx=mx.sub.d "+bx.sub.d '+kx.sub.d                  (21)

From the formula (21),

    x=x.sub.d +λ                                        (22)

wherein, lim λ=0 (λ: a homogeneous solution of the formula (21)) when m, b, and k<0. That is, the position x of the end effector E can follow the target trajectory x_(d).

FIG. 5 shows the Case (3) of a contacting state between the end effector and a not fixed or non-rigid object.

In this case, the velocity x' is unknown, and the force f is given approximately by (-m_(e) x"-b_(e) x'-k_(e) x). In the formula (12), when a≠b, δ₃ =0 and *δ₃ =1 from the formula (11).

Accordingly, the selection function devices 1, 3, 5, and 7 are selected because of *δ₃ =1, and the selection function devices 2, 4, 6 and 8 are not selected because of δ₃ =0.

From formulas (8) and (16),

    (m+m.sub.e)x"+(b+b.sub.e)x'+(k+k.sub.e)x=u

    u=(m+m.sub.e)x.sub.d "+(b+b.sub.e)x.sub.d '+(k+k.sub.e)x.sub.d (23)

From the formula (23),

    (m+m.sub.e)x"+(b+b.sub.e)x'+(k+k.sub.e)x=(m+m.sub.e)x.sub.d "+(b+b.sub.e)x.sub.d '+(k+k.sub.e)x.sub.d                 (24)

From the formula (24),

    x=x.sub.d +u                                               (25)

wherein, lim μ=0 (μ: a homogenous solution of the formula (24)) when (m+m_(e)), (b+b_(e)), and (k+k_(e))>0. That is, the position x of the end effector E can follow to the target trajectory x_(d). 

We claim:
 1. A robot control system, comprising:an end effector for acting upon an object to be worked; a manipulator which mechanically supports the end effector and thereby is operative to move the end effector; a plurality of sensors mounted on the end effector and operative to detect, and to produce corresponding outputs representative of, a position (x) of the end effector, a force (f) between the end effector and the object and an acceleration (x"), a speed (x') and a work rate (-x'f) of the end effector; a pre-controller which controls movement of the end effector by the manipulator; a plurality of selection function means having respective outputs connected in parallel to the pre-controller and at least one of the selection function means being selected in accordance with the sensor outputs representative of the acceleration (x"), the speed (x') and the work rate (-x'f); a plurality of control means respectively connected to the plurality of selection function means and individually operative, for receiving and inputting, in common, a target trajectory (x_(d)) of the end effector and for outputting respective control signals (u) to the pre-controller to control movement of the end effector and the manipulator; and each said selected one of the selection function means being selected in accordance with respective values, each value being one of "0" and "other than 0", of the acceleration, the speed and the work rate sensor outputs; and the respective control signal (u), from each control means corresponding to a selected one of the selection function means, is input to the pre-controller thereby to control movement of the end effector .[.by.]. .Iadd.and .Iaddend.the manipulator.
 2. A robot control system as claimed in claim 1, wherein each of the plurality of selection function means utilizes one of a Kronecher delta function and an enlarged Kronecher delta function.
 3. A robot control system as claimed in claim 1, wherein movement of the manipulator is defined by the following formula for one direction component;

    mx"+b.[.x".]..Iadd.x'.Iaddend.+kx=u+f

wherein, "x" denotes the position of the end effector, "x'" denotes the speed of the end effector, "x"" denotes the acceleration of the end effector, "f" denotes the force applied from the object to the end effector, "u" denotes the control signal generated by the control means, "m" denotes a weight, "b" denotes a viscosity, and "k" denotes an elasticity and, further, each of these values is a .[."scaler".]. .Iadd."scalar" .Iaddend.value.
 4. A robot control system as claimed in claim 1, wherein the plurality of selection function means comprise respective ones of eight kinds of Kronecher delta functions. .Iadd.5. A robot control system, comprising:an acting device for acting upon an object to be worked; a plurality of sensors mounted on the acting device and operative to detect, and to produce corresponding outputs representative of, a position (x) of the acting device, a force (f) between the acting device and the object and an acceleration (x"), a speed (x') and a work rate (-x'f) of the acting device; a pre-controller which controls movement of the acting device; a plurality of selection function devices having respective outputs connected in parallel to the pre-controller and at least one of the selection function devices being selected in accordance with the sensor outputs representative of the acceleration (x"), the speed (x') and the work rate (-x'f); a plurality of control devices respectively connected to the plurality of selection function devices and individually operative for receiving and inputting, in common, a target trajectory (x_(d)) of the acting device and for outputting respective control signals (u) to the pre-controller to control movement of the acting device; and each said selected one of the selection function devices being selected in accordance with the respective values, each value being one of "0" and "other than 0", of the acceleration, the speed and the work rate sensor outputs; and the respective control signal (u), from each controller corresponding to a selected one of the selection function devices, is input to the pre-controller thereby to control movement of the acting device. .Iaddend..Iadd.6. A system as claimed in claim 5, wherein each of the plurality of selection function devices utilizes one of a Kronecher delta function and an enlarged Kronecher delta function. .Iaddend..Iadd.7. A system as claimed in claim 5, wherein movement of the acting device is defined by the following formula for one direction component;

    mx"+bx'+kx=u+f

wherein, "x" denotes the position of the acting device, "x'" denotes the speed of the acting device, "x"" denotes the acceleration of the acting device, "f" denotes the force applied from the object to the acting device, "u" denotes the control signal generated by the controller, "m" denotes a weight, "b" denotes a viscosity, and "k" denotes an elasticity and, further, each of these values is a "scalar" value. .Iaddend..Iadd.8. A system as claimed in claim 5, wherein the plurality of selection function devices comprise respective ones of eight kinds of Kronecher delta functions. .Iaddend..Iadd.9. A controller controlling an acting device for acting upon an object to be worked, comprising:a receiving unit receiving an output from a plurality of sensors mounted on the acting device and operative to detect, and to produce corresponding outputs representative of information concerning the acting device and the object; a pre-controller which controls movement of the acting device; a plurality of selection function devices having respective outputs connected in parallel to the pre-controller and at least one of the selection function devices being selected in accordance with the sensor outputs representative of the information concerning the acting device and the object; a plurality of control devices respectively connected to the plurality of selection function devices and individually operative for receiving and inputting, in common, a target trajectory (x_(d)) of the acting device and for outputting respective control signals (u) to the pre-controller to control movement of the acting device; and each said selected one of the selection function devices being selected in accordance with respective values of the information concerning the acting device and each said selected one of the selection function devices being selected in accordance with respective values of the information concerning the acting device and the object, which information from said sensors; and the respective control signal (u), from each control means corresponding to a selected one of the selection function means, is input to the pre-controller thereby to control movement of the acting device. .Iaddend..Iadd.10. A controller as claimed in claim 9, wherein each of the plurality of selection function devices utilizes one of a Kronecher delta function and an enlarged Kronecher delta function. .Iaddend..Iadd.11. A controller as claimed in claim 9, wherein movement of the acting device is defined by the following formula for one direction component;

    mx"+bx'+kx=u+f

wherein, "x" denotes the position of the acting device, "x'" denotes the speed of the acting device, "x"" denotes the acceleration of the acting device, "f" denotes the force applied from the object to the acting device, "u" denotes the control signal generated by the controller, "m" denotes a weight, "b" denotes a viscosity, and "k" denotes an elasticity and, further, each of these values is a "scalar" value. .Iaddend..Iadd.12. A controller as claimed in claim 9, wherein the plurality of selection function devices implement respective ones of eight kinds of Kronecher delta functions. .Iaddend..Iadd.13. A controller apparatus, comprising: a pre-controller controlling a dynamic relationship of an element to an object in response to an element control signal; plural sensors producing respective, plural sensor outputs, each sensor output having differing values representing differing sensed relationships of the element to the object; plural function selector devices, one or more thereof being selected in accordance with combinations of the sensor outputs; plural controllers respectively associated with the plural selection function units, each controller processing a desired target trajectory of the element relative to the object and outputting a respective component element control signal to the respectively associated selection function device; and the selected, selection function devices outputting the respective component element control signals received thereby, a composite thereof comprising the element control signal. .Iaddend..Iadd.14. The controller recited in claim 13, wherein the plural controllers receive a common, desired target trajectory and output the respective component element control signals in parallel to the respectively associated selection function devices. .Iaddend..Iadd.15. A method of controlling an element relative to an object, comprising: controlling a dynamic relationship of an element to an object in response to an element control signal; producing plural sensor outputs, each sensor output having differing values representing differing sensed relationships of the element to the object; processing a desired target trajectory of an element relative to the object in accordance with plural different functions and outputting, in parallel, respective component element control signals; and selecting and outputting one or more of the parallel component element control signals, responsive to sensed relationships of the element to the object, a composite thereof comprising the element control signal. .Iaddend. 